﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using NGIS.Model;

namespace ComputerResourceConsole.lib
{
    public interface IModelServiceDebuggerControl: IComponentControl
    {
        /* MDL Operation */
        //! load MDL file
        bool loadMDLFile(string mdlPath);

        //! get IBehavior
        IModelBehavior getModelBehavior();

        //! get Model Name
        string getMDLModelName();

        //! get Model UID
        string getMDLModelUID();

        //! get Model Category
        string getMDLCategory();

        /* Data Configuration Operation */
        //! add data
        void pushData(string stateName, string eventName, bool optional, string dataPath);

        //! remove data
        bool removeData(string stateName, string eventName);

        //! get data
        string getData(string stateName, string eventName);

        //! get data index
        int getDataIndex(string stateName, string eventName);

        //! get data count
        int getDataCount();

        //! update data
        bool updateData(string stateName, string eventName, string dataPath);

        //! clear all data configuration
        bool clearAllData();

        //! format data configuration to file
        bool formatToFile(string filePath);

        //! format data configuration to file
        bool formatToFile();

        //! is MDL loading
        bool MDLLoading { get; }

        //! is all data ready
        bool DataReady { get; }

        //! is directory ready
        bool DirectoryReady { get; }

        //! debug Host
        string Host { get; set; }

        //! debug Port
        int Port { get; set; }

        //! debug Instance ID
        string InstanceID { get; set; }
    }
}
